Hybrid memory blade

ABSTRACT

The present invention is directed to server systems and methods thereof. More specifically, embodiments of the present invention provides a memory controller within a server system, where the memory controller is disengageably connected to one or more processors, a plurality of volatile memory modules, and plurality of solid-state memory modules. This memory controller may be connected to other similarly configured memory controllers. The volatile and solid-state memory modules can be removed and/or replaced. There are other embodiments as well.

CROSS-REFERENCES TO RELATED APPLICATIONS

The present application is a continuation of and claims priority to U.S.patent application Ser. No. 14/878,680, filed on Oct. 8, 2015, which isa continuation of and claims priority to U.S. patent application Ser.No. 14/576,008, filed on Dec. 18, 2014, which is a continuation of andclaims priority to U.S. patent application Ser. No. 13/768,986, filed onFeb. 15, 2013, which claims priority to U.S. Provisional PatentApplication No. 61/599,835, filed Feb. 16, 2012, titled “Hybrid MemoryBlade” and U.S. Provisional Patent Application No. 61/602,494, filedFeb. 23, 2012, titled “iMC and the Memory Appliance,” all of which areincorporated by reference herein.

BACKGROUND OF THE INVENTION

The present invention is directed to server systems and methods thereof.

Since the invention of the first generation of microcomputers in the1970s, architectures and housing of computer system have beencontinually evolving. Computer systems that are used as servers aretypically mounted on racks. In contrast, personal computers, or minicomputers, are typically mounted within computer cases.

For server application, a certain level of modularity is needed, whereadditional computing resources can be added, removed, replaced, and/ormodified. For example, the VMEbus architecture in the 1980s defined acomputer interface which included implementation of a board-levelcomputer installed in a chassis backplane with multiple slots forpluggable boards to provide I/O, memory, or additional computing. ThePCI Industrial Computer Manufacturers Group (PICMG) developed achassis/blade structure for the then emerging Peripheral ComponentInterconnect (PCI) bus. Common among these chassis based computers wasthe fact that the entire chassis was a single system.

The term “blade server” has a card included the processor, memory, I/Oand non-volatile program storage. The blade server configuration allowedmanufacturers to package a complete server, with its operating systemand applications, on a single card/board/blade. These blades could thenoperate independently within a common chassis, doing the work ofmultiple separate server boxes more efficiently. In addition to the mostobvious benefit of this packaging (less space-consumption), additionalefficiency benefits have become clear in power, cooling, management, andnetworking due to the pooling or sharing of common infrastructure tosupports the entire chassis, rather than providing each of these on aper server box basis.

Unfortunately, conventional blade system have been inadequate forvarious reasons, as explained below. It is desirable to have new andimproved blade systems and methods thereof.

BRIEF SUMMARY OF THE INVENTION

The present invention is directed to server systems and methods thereof.More specifically, embodiments of the present invention provides amemory controller within a server system, where the memory controller isdisengageably connected to one or more processors, a plurality ofvolatile memory modules, and plurality of solid-state memory modules.This memory controller may be connected to other similarly configuredmemory controllers. The volatile and solid-state memory modules can beremoved and/or replaced. There are other embodiments as well.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified diagram illustrating a hybrid memory blade serveraccording to an embodiment of the present invention.

FIG. 2 is a simplified diagram illustrating a hybrid memory controlleraccording to an embodiment of the invention.

FIG. 3 is a simplified diagram illustrating interconnects of memoryblades via a rack switch according to an embodiment of the invention.

FIG. 4 is a simplified diagram illustrating interconnects of memoryblades via cascade interfaces according to an embodiment of theinvention.

FIG. 5 is a simplified diagram illustrating interconnects of memoryblades via an aggregation blade according to an embodiment of theinvention.

FIG. 6 is a simplified block diagram illustrating a memory bladeaccording to an embodiment of the invention.

FIG. 7 is a simplified diagram illustrating a memory blade according toan embodiment of the present invention.

FIG. 8 is a simplified diagram illustrating interconnection among memoryblades according to embodiments of the present invention.

FIG. 9 is a simplified diagram illustrating operation of iMC supportinga processing plug-in module according to embodiments of the invention.

FIG. 10 is a simplified diagram illustrating connection from iMCs toother apparatus according to embodiments of the invention.

FIG. 11 is a simplified diagram illustrating a memory appliance with QPIinterface according to embodiments of the present invention.

FIG. 12 is a simplified diagram illustrating a cross connectionconfiguration for the iMCs according to embodiments of the presentinvention.

FIG. 13 is a simplified diagram illustrating iMCs with line cardconfiguration according to embodiments of the present invention.

FIG. 14 is a simplified diagram illustrating implementations of memoryblades with DIMMS.

FIG. 15 is a simplified diagram illustrating implementations of memoryblades with DIMMS.

DETAILED DESCRIPTION OF THE INVENTION

The present invention is directed to server systems and methods thereof.More specifically, embodiments of the present invention provides amemory controller within a server system, where the memory controller isdisengageably connected to one or more processors, a plurality ofvolatile memory modules, and plurality of solid-state memory modules.This memory controller may be connected to other similarly configuredmemory controllers. The volatile and solid-state memory modules can beremoved and/or replaced. There are other embodiments as well.

The following description is presented to enable one of ordinary skillin the art to make and use the invention and to incorporate it in thecontext of particular applications. Various modifications, as well as avariety of uses in different applications will be readily apparent tothose skilled in the art, and the general principles defined herein maybe applied to a wide range of embodiments. Thus, the present inventionis not intended to be limited to the embodiments presented, but is to beaccorded the widest scope consistent with the principles and novelfeatures disclosed herein.

In the following detailed description, numerous specific details are setforth in order to provide a more thorough understanding of the presentinvention. However, it will be apparent to one skilled in the art thatthe present invention may be practiced without necessarily being limitedto these specific details. In other instances, well-known structures anddevices are shown in block diagram form, rather than in detail, in orderto avoid obscuring the present invention.

The reader's attention is directed to all papers and documents which arefiled concurrently with this specification and which are open to publicinspection with this specification, and the contents of all such papersand documents are incorporated herein by reference. All the featuresdisclosed in this specification, (including any accompanying claims,abstract, and drawings) may be replaced by alternative features servingthe same, equivalent or similar purpose, unless expressly statedotherwise. Thus, unless expressly stated otherwise, each featuredisclosed is one example only of a generic series of equivalent orsimilar features.

Furthermore, any element in a claim that does not explicitly state“means for” performing a specified function, or “step for” performing aspecific function, is not to be interpreted as a “means” or “step”clause as specified in 35 U.S.C. Section 112, Paragraph 6. Inparticular, the use of “step of” or “act of” in the Claims herein is notintended to invoke the provisions of 35 U.S.C. 112, Paragraph 6.

Please note, if used, the labels left, right, front, back, top, bottom,forward, reverse, clockwise and counter clockwise have been used forconvenience purposes only and are not intended to imply any particularfixed direction. Instead, they are used to reflect relative locationsand/or directions between various portions of an object.

The term “blade server” (or sometimes referred to as “blade”) usuallyrefers to a stripped-down server computer with a module design optimizedto minimize the use of physical space and energy. Whereas a standardrack-mount server can function with (at least) a power cord and networkcable, blade servers have many components removed to save space,minimize power consumption and other considerations, while still havingall the functional components to be considered a computer. A bladeenclosure, which can hold multiple blade servers, provides services suchas power, cooling, networking, various interconnects and management.Together, blades and the blade enclosure form a blade. Different bladeproviders have differing principles regarding what to include in theblade itself, and in the blade system altogether.

A conventional blade server includes a processor, memory, storage, andnetwork interface. The processor and memory needs to be compatible, bothin physical connection and communication protocol, with each for theblade server to work. Thus, replacing the processor, as often done whenserver upgrade is needed, means that new memory modules that arecompatible with the new processes replace the old memory modules. It isto be appreciated that with fast-evolving networking applications, it isoften unnecessary to replace both processor and memory. For example,moving from a Sandy Bridge processor an Ivy Bridge processor means thememory modules that were used for Sandy Bridge processor is notcompatible with the new Ivy Bridge processor, but these memory modulesare perfectly usable performance-wise. Embodiments of the presentinvention offers an integrated memory controller (IMC) that, among otherthings, provides an interface between the processor and the memorymodule, thereby allowing otherwise incompatible processor and memorymodules to work with each other.

In various embodiments, the present invention provides a hybrid memoryblade. For example, the term hybrid memory blade (or simply “blade”)refers to a modular design optimized for the scalable high-performancememory/storage needs of present and future servers. A memory bladeaccording to embodiments of the present invention is configured toconform to the form factors used with standard blade servers, and canthus be optimized to minimize the use of physical space and energy. Ahybrid memory blade can provide durable and available hybridmemory/storage with high throughput and low access latency. It is to beappreciated that combination of large scale, high performance, and smallform-factor characteristics of memory blade according to implementationsof the present invention enable a new breed of data-intensiveapplications.

FIG. 1 is a simplified diagram illustrating a hybrid memory blade serveraccording to embodiments of the present invention. This diagram ismerely an example, which should not unduly limit the scope of theclaims. One of ordinary skill in the art would recognize manyvariations, alternatives, and modifications. As shown, a blade serversystem 100 comprises an enclosure 101. Hybrid memory blade 102 ismounted to the enclosure 101. For example, the enclosure 101 has a bladeserver rack that can hold the different blades to perform differentfunctions in a computing and storage system. The hybrid memory blade isdesigned to be compatible with the form factor and mounting interface ofthe enclosure 101. For example, the hybrid memory blade 102 is mountedto the enclosure 101 via a high-speed data communication interface,through which the blade 102 is capable of receiving from and sendingdata to processors and/or other blades. For example, the blade 102 isone of many hybrid memory blades mounted on the blade server system 100.It is to be appreciated that the enclosure 101 is configured toaccommodate other components as well.

In various embodiments, the blade server system 100 further comprisingpower supply, thermal management, network interface, storage, and/orother components mounted on or in the enclosure 101. The power supply ofthe server system 100 may include power supply units that convert ACpower to DC power, as needed by the blade computers. In addition, thepower supply may have built-in backup and redundancies to ensure properoperation of the blade computers or integrated memory modules. Thethermal management system is provided to, among other things, cool theblade computers and other components. For example, blade computergenerate a large amount of heat that needs to be dissipated duringoperation, and fans and/or liquid cooling systems can be used to coolthe temperature. The blade computers of the blade server system 100 areconnected to network interfaces of the system 100. Among other things,blades may need to communicate with one another, and often there is aneed to connect to systems and network outside the blade server system100.

For blade computers, or computers in general, volatile memory or randomaccess memory (RAM) are used for quick access, and referred to asmemory. For example, DRAM, SRAM, SDRAM, and other types of volatilememory are commonly used for quick access, and are commonly referred toas “memories”. In contrast, solid-state memory (or sometimes referred toas flash memory) and hard disks are typically referred to as storage, asthey are slower than RAM and thus are more suitable for data storagethan random access. It is to be appreciated that in various embodiments,both volatile (e.g., RAM) and solid-state memories are used foroperation. A “hybrid blade memory” according to embodiments of thepresent invention is referred to as a ‘hybrid’ in that it contains atleast two different types of memory storage devices, which arecontrolled by a common memory controller. For example, a hybrid blademay include both DRAM and FLASH memory devices, both controlled by acommon hybrid memory controller. A hybrid blade may include one hybridmemory controller or multiple hybrid memory controllers, each of whichwould typically interface with a subset of the memory devices on board.

FIG. 2 is a simplified diagram illustrating a hybrid memory blade 200according to an embodiment of the invention. This diagram is merely anexample, which should not unduly limit the scope of the claims. One ofordinary skill in the art would recognize many variations, alternatives,and modifications. In various implementations, the hybrid memorycontroller 203 is arranged to optimize the use of the different memorytypes. For example, the memory blade 200 comprises flash memory 201which is used to store slowly changing database information, and DRAM202 into which FLASH data would be loaded for fast access. The blade mayalso be arranged such that FLASH data is accessed directly, withoutfirst being transferred to DRAM. It is to be appreciated that the use ofFLASH memory 201 is advantageous in that it provides a much high datastorage density that does DRAM, thereby enabling a given system toemploy fewer servers. On the other hand, read and write operations toFLASH memory 2012 are much slower than that of DRAM 202. The hybridmemory controller 203 is configured to coordinate the use of the FLASHmemory 201 and DRAM 202 to provide the fastest possible data rate. Invarious embodiments, implementing blade memory is differently than aconventional memory system, where data is stored rather than, forexample, files, and with a high speed, low latency interface rather thana conventional I/O structure which can act as a bottleneck to the flowof data. The hybrid memory controller operates with software, which canbe customized as needed to optimize the memory blade operation forparticular applications and/or for particular memory device types.

As shown in FIG. 2, the hybrid memory controller 203 is coupled to boththe DRAM 202 and the FLASH memory 201. It is to be appreciated that FIG.2 is a simplified block diagram, where there can be a number of flashmemory and DRAM modules. Between the DRAM 202 and the controller 203, ahigh speed and low latency interface is provided. As described below,the controller 203 may also include one or more ‘cascade’ interfaces,through which it can be coupled to other hybrid memory controllers onthe same blade, or coupled to hybrid memory controllers on other blades.

Components of the memory blade 200 can be fitted into a single memoryblade housing. In various embodiments, the memory blade 200 complieswith form factor of a standard blade server (e.g., c-class server size).For example, a standard 42U server enclosure can fit up to 128 bladeserver or 128 memory blades. The DRAM 202, for example, can be fitted toranks of DRAM slots of the memory blade 200 housing. Similarly, flashmemory 201 may include a number of modules that are fitted intopre-assigned slots on the memory blade 200 housing.

It is to be appreciated that hybrid memory blades according toembodiments of the present invention are used to expand the computingsystem memory and storage capacity through high speed, low latencyinterfaces. For example, the term “memory blade” refers to a bladeserver as shown in FIG. 2 where a hybrid memory controller is connectedto DRAM and flash memory modules, and is further connected to processorand/or other blade servers. Depending on the application, a memory bladeaccording can provide data individually, or together as an aggregateddevice. For example, aggregation can be accomplished via the chassis,through other blades or top rack switches, or through a “hybrid memoryaggregation blade”. A hybrid memory aggregation blade can provide anincreased parallelism and a reduced latency.

FIG. 3 is a simplified diagram illustrating interconnects of memoryblades via a rack switch according to an embodiment of the invention.This diagram is merely an example, which should not unduly limit thescope of the claims. One of ordinary skill in the art would recognizemany variations, alternatives, and modifications. For example, a bladeserver system 300 includes a top of rack switch 301 and a number ofmemory blades, including blade 310 and blade 311. As an example,multiple hybrid memory blades (e.g., blades 310 and 311) areinterconnected, via a top of rack switch 301 as shown in FIG. 3. Forexample, blade 310 and blade 311 are memory blades that are configuredon standard blade housings, and can be quickly mounted onto the bladeserver system 300.

FIG. 4 is a simplified diagram illustrating interconnects of memoryblades via cascade interfaces according to an embodiment of theinvention. This diagram is merely an example, which should not undulylimit the scope of the claims. One of ordinary skill in the art wouldrecognize many variations, alternatives, and modifications. For example,a blade server system 400 includes a top of rack switch 401 and a numberof memory blades, including blade 410 and blade 411. The blades 410 and411 are connected to each via their cascade interfaces, which can be apart of their respective memory controller; they are not connected toeach other through the top of rack switch 401.

FIG. 5 is a simplified diagram illustrating interconnects of memoryblades via an aggregation blade according to an embodiment of theinvention. This diagram is merely an example, which should not undulylimit the scope of the claims. One of ordinary skill in the art wouldrecognize many variations, alternatives, and modifications. In FIG. 5,the blade server system 500 includes a top of rack switch 501, anaggregation blade 512, and a number of memory blades, including blade510 and blade 511. The blades 510 and 511 are connected to each throughthe memory aggregation blade 512. For example, the memory aggregationblade 512 comprises a plurality of high speed interfaces that canfacilitate the exchange of data among the blades.

It is to be appreciated that data communication among the blades can beaccomplished via various type of interconnect and/or interfaces. Forexample, the blades may be connected to one another via wire, fiberoptic cables, and/or others.

FIG. 6 is a simplified block diagram illustrating a memory bladeaccording to an embodiment of the invention. This diagram is merely anexample, which should not unduly limit the scope of the claims. One ofordinary skill in the art would recognize many variations, alternatives,and modifications. As shown in FIG. 6, the hybrid memory blade 600includes a hybrid memory controller 601 and DRAMs and non-volatilememory (e.g., FLASH devices). For example, the flash memory (or othertypes of solid-state memory) modules is connected to the hybrid memorycontroller via flash interface/controllers. It is to be appreciated thatby combining high speed, low latency DRAM and cost effective,non-volatile FLASH memory, a memory blade according to embodiments ofthe present invention creates a hybrid memory/storage system to optimizeserver system performance, cost, power, and modularity.

A high speed, low latency interface is used to connect the hybrid memorycontroller 601 of the memory blade 600 to one or more processors orCPU(s). A cascade interface is used to allow daisy-chain connection toone or more distributed hybrid memory controllers. For example, thehybrid memory controller 601 may be connected to another hybrid memorycontroller of the memory blade 600 or another memory blade. In anembodiment, the hybrid memory controller 601 also includes a DRAM memorycontroller (not shown) and FLASH interface/controllers. As describedabove, the hybrid memory controller may include intelligent functions tooptimize hybrid memory/storage performance. For example, logic functionsof the hybrid memory controller may include selecting between DRAMand/or flash memory for various applications, backing up data stored inDRAM into flash memory, and others.

It is to be appreciated that the hybrid memory blade 600 comprises aplurality of high-speed connections. For example, the high-speedinterface that connects to processor can be PCI Express, Hyper Transport(HT) interface, QPI interface, optical connection, and/or others. Thehybrid memory controller 601 may connected to DRAM through various typesof memory buses, such as DDR3, DDR4, and/or others. Similarly, cascadeinterface(s) may be 10 G KR, 100 G high speed interfaces, opticalconnection, high speed serial connection, and/or others.

FIG. 7 is a simplified diagram illustrating a memory blade according toan embodiment of the present invention. This diagram is merely anexample, which should not unduly limit the scope of the claims. One ofordinary skill in the art would recognize many variations, alternatives,and modifications. As shown in FIG. 7, a memory blade 700 comprises ahybrid memory controller 701. The hybrid memory controller 701 hasseveral difference interfaces. For example, the controller 701 can beconnected to DRAM directly or via a host interface/controller 704. In aspecific embodiment, the connection between the controller 701 and DRAMsare DDRx interfaces. The connection between the hybrid memory controller701 and the host interface/controller 704 can be DDRx interface, highspeed serial interface, and/or others.

The hybrid memory controller 701 also includes interface 702, which is ahigh-speed, low-latency interface. For example, interface 702 provides aconnection to one or more processors. In an embodiment, the interface702 comprises a high speed serial of connection. The interface 702 mayalso include optical interface that is capable of high bandwidth (e.g.,greater than 100 Gbps). The interface 703 of the hybrid memorycontroller 701 provides a cascade connection to other hybrid memorycontroller(s). For example, through the interface 703, the hybrid memorycontroller 701 may be connected to another hybrid memory controller ofthe same memory blade 700, or other memory blades. For example, thehybrid memory controller 701 can be referred to as integrated memorycontroller (iMC). The hybrid memory controller 701 is connected throughflash memory through flash interface/controller. For example, theconnections to FLASH could be via controller (e.g. SSD) 705 as shown, orthrough non-SSD controller, and/or locally attached.

FIG. 8 is a simplified diagram illustrating interconnection among memoryblades according to embodiments of the present invention. This diagramis merely an example, which should not unduly limit the scope of theclaims. One of ordinary skill in the art would recognize manyvariations, alternatives, and modifications. The integrate memorycontrollers (iMC) are interconnected using many point to pointconnections. For example, a host can use iMC via DDR3/4 interface ashost access point to memory array. There can be “N” access points perCPU complex to allow connection to N−1 others. As an example, dualprocessors with 8 iMCs on each processor can access 15 others. As anexample, an iMC can be an implementation of a hybrid memory controller.

In various embodiments, each of the iMC assigns addresses to DRAM and/orflash memory. For example, the host address range for each iMC can belimited to 32 GB per rank and up to 8 ranks for a total of 256 GB. In animplementation, if there are 2 iMCs per channel and 4 channels, then 2TB is available to each CPU through 8 access iMCs. Depending on theapplication, memory can be allocated statically or dynamically, asrequired by an appliance manager running on the system. It is to beappreciated that dynamic allocation of memory allows for transfer ofvariable size blocks of data between CPU's by remapping the transferarea into another CPU's memory space.

In certain embodiments, the blade memory system operates in a hidden DMAmode. For example, memory modules are allocated with read and writetransfer buffers. A host would command each iMC to move data between itslocal buffers to remote iMCs transfer buffers. When transfer iscomplete, receptor buffer arrival is notified to local processor fordata processing, and transmitter buffer departure is notified to reclaimmemory or re-use data (e.g. multi-cast operation). There can be otheroperation modes as well.

FIG. 9 is a simplified diagram illustrating operation of iMC supportinga processing plug-in module according to embodiments of the invention.This diagram is merely an example, which should not unduly limit thescope of the claims. One of ordinary skill in the art would recognizemany variations, alternatives, and modifications. In FIG. 9, multipleiMCs are configured to support a processing plug-in module. For example,the plug-in module can be compute, network, IO, HBA, and/or others. Theconnection between iMCs is abstracted. For example, the connection canbe configured local to a module, local within a rack, inter rack, and/ornetworked. Data transported is transparent to iMC devices. For example,an iMC delivers buffers from “A” to “B”. Encapsulated protocol iscontained as the data content provided and interpreted by softwarerunning on the processors. Various protocols are supported.

FIG. 10 is a simplified diagram illustrating connection from iMCs toother apparatus according to embodiments of the invention. This diagramis merely an example, which should not unduly limit the scope of theclaims. One of ordinary skill in the art would recognize manyvariations, alternatives, and modifications. As shown, host access pointcould be via a bridge to a proprietary CPU interface. For example, QPIinterface is provided for Intel processors, and HT interface is providedfor AMD processors. Other protocols (e.g., for connecting to ARMprocessor, GPU, etc.) can be used as well. In addition, iMC (or hybridmemory controllers) can be connected to persistent storage. Theinterface between persistent storage and the iMC can be industrystandard, such as SATA, proprietary interface to FLASH controller suchas iFM, which can be configured as simple pin multiplexor with somelocal control. In certain implementations, iMCs are directly connectedto storage. Depending on the application, iMCs can have multiple DRAMinterfaces and multiple persistent memory interfaces. The connectionsamong iMCs may use many types of topology, such as toroid, cube,x-connected cube, and/or others.

FIG. 11 is a simplified diagram illustrating a memory appliance with QPIinterface according to embodiments of the present invention. Thisdiagram is merely an example, which should not unduly limit the scope ofthe claims. One of ordinary skill in the art would recognize manyvariations, alternatives, and modifications. For example, as shown inFIG. 11, an iMC is connected to a qMI interface through a high-speedserial interface. The qMI is connected to CPUs via QIP interfaces. iMCsthat are not directly connected to the qMI can be connected to the qMIthrough other iMCs. For example, iMCs are connected to one another viahigh speed serial interfaces.

FIG. 12 is a simplified diagram illustrating a cross connectionconfiguration for the iMCs according to embodiments of the presentinvention. This diagram is merely an example, which should not undulylimit the scope of the claims. One of ordinary skill in the art wouldrecognize many variations, alternatives, and modifications. For example,the network iMCs as shown in FIG. 12 allows a large amount of data to beshared among iMCs. FIG. 12 shows 100 G connections among iMCs, but it isto be appreciated that other connection types and/or bandwidths arepossible as well.

FIG. 13 is a simplified diagram illustrating iMCs with line cardconfiguration according to embodiments of the present invention. Thisdiagram is merely an example, which should not unduly limit the scope ofthe claims. One of ordinary skill in the art would recognize manyvariations, alternatives, and modifications. As shown, iMC are CPUs arepart of a line card, and each line card can have multiple iMCs andnetwork interfaces. For example, line cards can be connected to oneanother via a backplane/midplane bus.

FIGS. 14-15 are simplified diagrams illustrating implementations ofmemory blades with DIMMS. These diagrams merely provide an example,which should not unduly limit the scope of the claims. One of ordinaryskill in the art would recognize many variations, alternatives, andmodifications.

It is to be appreciated that embodiments of the present inventionprovide many advantages and can be flexibly implemented. In variousembodiments, hybrid memory systems provide for non-volatile DIMMs(NVDIMM), which are like to be the next generation of DIMMs forincreased capacity. Memory blades can be used to answers the storageserver needs, and also facility the process that saves and restores datathrough power failures. IMCs can be configured to provide a feature-richimplementation of the iMB to support multiple applications (with CPUsupport). For example, system level mix and match can be with LRDIMMsonly. For example, the 100 G interconnections can provide other MemoryAppliances for HPC.

The memory blades and the techniques thereof can address the memorycentric computing of today. With advent of ubiquity of computer devices,data is proliferating, and CPU's have plenty of performance. To betterserve the general needs, an objective is to change the paradigm of oldsever and computer models. For example, servers today are often Single,Dual, Quad processor with user configures by adding some amount of DRAMmemory. By using memory blade as a memory appliance, a user can purchasean appliance with his required “X” Tbytes of memory. As need, the usercan then add some amount of CPU processing. An important aspect is toensure end to end data integrity. For example, it is important that asystem does not refer to bit errors. In addition, overall processing ofthe data needs a certain level of guarantee. If a process fails orcrashes, then the data should remain and another process can start andrepeat from the last known good data. However, memory latency is not adriving factor.

There are many applications for memory appliances. For example,applications includes networking switches/routers, unified compute orcompute servers, storage servers, blade servers, LP servers, unifiedplatforms, and many others.

While the above is a full description of the specific embodiments,various modifications, alternative constructions and equivalents may beused. Therefore, the above description and illustrations should not betaken as limiting the scope of the present invention which is defined bythe appended claims.

What is claimed is:
 1. A method of installing a server system, themethod comprising: providing, in a network the server system, the serversystem comprising: an optical interconnect; a top of rack switchapparatus coupled to the optical interconnect; an enclosure having aplurality of mounting interfaces for a plurality of servers, each of theservers being coupled to the top of the rack switch apparatus; a firstblade housing structure, the first blade housing structure isdisengageably coupled to at least one of the mounting interfaces; afirst memory controller module comprising a first processor interface, aplurality of volatile memory interface, a plurality of solid-statememory interfaces, and a plurality of cascade interfaces, the firstmemory controller being disengageably mounted on the first blade housingstructure; a first processor disengageably mounted to a first mountinginterface of the enclosure, the processor being connected to the memorycontroller via the first processor interface; a plurality of volatilememory modules disengageably mounted to a plurality of memory mountinginterfaces of the first blade housing structure; a plurality ofsolid-state memory modules disengageably mounted to a plurality ofmemory solid state interfaces of the first blade housing structure; apower management system positioned with the enclosure; a networkinterface positioned within the enclosure; and a thermal managementsystem positioned within the enclosure; wherein the first processorinterface is a QPI interface, HT interface, or ARM processor interface,a high speed serial interface, or a PCI-e interface; and operating theserver system in the network.
 2. The method of claim 1 furthercomprising a plurality of blade housings for memory blade servers,wherein the first blade structure comprises a hybrid memory bladeserver; the first blade housing structure being configured with a lengthof no more than 900 mm and a width of no more than 500 mm.
 3. The methodof claim 1 wherein: the memory controller module is configured todynamically assign addresses to the plurality of volatile memorymodules; the plurality of volatile memory modules comprises DRAMmodules.
 4. The method of claim 1 wherein the plurality of volatilememory modules is configured in an array.
 5. The method of claim 1further comprising a second memory controller module connected to thefirst memory controller module via a first cascade interface at abandwidth of at least 10 Gbps.
 6. The method of claim 1 wherein thesolid-state memory interfaces comprises one or more solid-statecontrollers.
 7. The method of claim 1 wherein the plurality of volatilememory interface comprises a serial connection.
 8. The method of claim 1wherein the plurality of volatile memory interface comprises a pluralityof DDRx interfaces.
 9. The method of claim 1 wherein the cascadeinterfaces comprises a serial interface.
 10. A method of installing aserver system in a network, the method comprising: providing, in thenetwork the server system, the server system comprising a top of a rackswitch apparatus, an optical interconnect, and an enclosure having aplurality of mounting interfaces for a plurality of servers; a firstblade housing structure configured with a length of no more than 900 mmand a width of no more than 500 mm, the first blade housing structure isdisengageably coupled to at least one of the mounting interfaces; afirst memory controller module comprising a first processor interface, aplurality of volatile memory interface, a plurality of solid-statememory interfaces, and a plurality of cascade interfaces, the firstmemory controller being disengageably mounted on the first blade housingstructure; a first processor disengageably mounted to a first mountinginterface of the enclosure, the processor being connected to the memorycontroller via the first processor interface; a plurality of volatilememory modules disengageably mounted to a plurality of memory mountinginterfaces of the first blade housing structure; a plurality ofsolid-state memory modules disengageably mounted to a plurality ofmemory solid state interfaces of the first blade housing structure; apower management system positioned with the enclosure; a networkinterface positioned within the enclosure; and a thermal managementsystem positioned within the enclosure; and operating the first memorycontroller to: receive a memory allocation request; evaluate a usagerequirement associated with the memory allocation request; selectvolatile memory modules and/or solid-state memory modules based on atleast one the usage requirement.
 11. The method of claim 10 furthercomprising a second memory controller module connected to the firstmemory controller module via a first cascade interface at a bandwidth ofat least 10 Gbps.
 12. The method of claim 10 wherein the solid-statememory interfaces comprises one or more solid-state controllers.
 13. Themethod of claim 10 wherein the plurality of volatile memory interfacecomprises a serial connection.
 14. The method of claim 10 wherein theplurality of volatile memory interface comprises a plurality of DDRxinterfaces.
 15. The method of claim 10 wherein the cascade interfacescomprises a serial interface.
 16. A method for installing a serversystem in a network, the method comprising: providing, in the networkthe server system comprising: a top of a rack switch apparatus, anoptical interconnect, and an enclosure having a plurality of mountinginterfaces for a plurality of servers; a first blade housing structureconfigured with a length of no more than 900 mm and a width of no morethan 500 mm, the first blade housing structure is disengageably coupledto at least one of the mounting interfaces; a first memory controllermodule comprising a first processor interface, a plurality of volatilememory interface, a plurality of solid-state memory interfaces, and aplurality of cascade interfaces, the first memory controller beingdisengageably mounted on the first blade housing structure; a firstprocessor disengageably mounted to a first mounting interface of theenclosure, the processor being connected to the memory controller viathe first processor interface; a plurality of volatile memory modulesdisengageably mounted to a plurality of memory mounting interfaces ofthe first blade housing structure; a plurality of solid-state memorymodules disengageably mounted to a plurality of memory solid stateinterfaces of the first blade housing structure; a power managementsystem positioned with the enclosure; a network interface positionedwithin the enclosure; and a thermal management system positioned withinthe enclosure; and operating the first memory controller to copy datastored in volatile memory modules to the solid-state memory modules inresponse to one or more predetermined conditions in the network.
 17. Themethod of claim 16 further comprising a second memory controller moduleconnected to the first memory controller module via a first cascadeinterface at a bandwidth of at least 10 Gbps.
 18. The method of claim 16wherein the solid-state memory interfaces comprises one or moresolid-state controllers.
 19. The method of claim 16 wherein theplurality of volatile memory interface comprises a serial connection.20. The method of claim 16 wherein the plurality of volatile memoryinterface comprises a plurality of DDRx interfaces, and wherein thecascade interfaces comprises a serial interface.